<template>
  <div id="container"></div>
</template>

<script setup>
import { onMounted } from 'vue';
import * as Cesium from 'cesium';
import './Widgets/widgets.css';

// 设置cesium 静态资源路径
window.CESIUM_BASE_URL = '/';

// 天地图 官网申请的key https://console.tianditu.gov.cn/api/key
const webKey = '01fc395160d8eb3b82aefe65b2280e58';

Cesium.Ion.defaultAccessToken =
  'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJmNDkwYWVhOS0wNzI5LTQ3OTEtOWFiMC1kY2M3MTFiM2I2NWQiLCJpZCI6MTkyNTU1LCJpYXQiOjE3MDY1MTM0MTh9.YAPVHr1d7PBuWayCXM9deCxKg3AbtsXUJiVpubVS3NY';

// cesium的默认视角
Cesium.Camera.DEFAULT_VIEW_RECTANGLE = Cesium.Rectangle.fromDegrees(
  89.5,
  20.4,
  110.4,
  61.2
);
onMounted(async () => {
  // 地球视图，底图加载
  const viewer = new Cesium.Viewer('container', {
    //地形图层
    // terrain: Cesium.Terrain.fromWorldTerrain(),
    //信息窗口
    infoBox: false,
    //显示查询按钮
    // geocoder: false,
    //home按钮
    // homeButton: false,
    // 控制查看器的显示模式-地球/平面
    // sceneModePicker: false,
    // 是否显示图层选择
    baseLayerPicker: false,
    //帮助按钮
    navigationHelpButton: false,
    //播放动画
    // animation: false,
    //时间线
    // timeline: false,
    //全屏模式
    // fullscreenButton: false

    // osm 地图加载成功
    // imageryProvider: new Cesium.OpenStreetMapImageryProvider({
    //   url: 'https://a.tile.openstreetmap.org/',
    // }),

    // 天地影像地图
    imageryProvider: new Cesium.WebMapTileServiceImageryProvider({
      url:
        'http://t0.tianditu.com/cia_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=cia&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default.jpg&tk=' +
        webKey,
      layer: 'tdtBasicLayer',
      style: 'default',
      format: 'image/jpeg',
      tileMatrixSetID: 'GoogleMapsCompatible',
      show: true,
    }),

    // imageryProvider: new Cesium.UrlTemplateImageryProvider({
    //   // url 的参数不同，展示的地图效果也是不同的
    //   url: 'https://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}',
    //   layer: 'tdtVecBasicLayer',
    //   style: 'default',
    //   format: 'image/png',
    //   tileMatrixSetID: 'GoogleMapsCompatible',
    //   show: true,
    // }),
  });

  // 矢量图层
  //加载高德/百度影像地图，UrlTemplateImageryProvider该接口是加载谷歌地图服务的接口
  const addLayer = viewer.imageryLayers.addImageryProvider(
    new Cesium.UrlTemplateImageryProvider({
      // url 的参数不同，展示的地图效果也是不同的
      url: 'https://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}',
      layer: 'tdtVecBasicLayer',
      style: 'default',
      format: 'image/png',
      tileMatrixSetID: 'GoogleMapsCompatible',
      show: true,
    })
  );
  addLayer.alpha = 0.5; // 设置叠加地图的透明度
  // 原文链接：https://blog.csdn.net/weixin_54937289/article/details/134654588

  //隐藏cesium Icon-logo
  viewer.cesiumWidget.creditContainer.style.display = 'none';
});
</script>

<style scoped>
* {
  padding: 0;
  margin: 0;
}
#container {
  height: 94vh;
  width: 94vw;
}
</style>
